home *** CD-ROM | disk | FTP | other *** search
/ Champak 132 (Alt) / Vol 132.iso / games / nameless.swf / scripts / DefineSprite_1719 / frame_1 / DoAction.as
Encoding:
Text File  |  2011-06-09  |  6.6 KB  |  277 lines

  1. if(!setVars)
  2. {
  3.    var moveSpeed = 3;
  4.    var addSpeed = 0.5;
  5.    var attackRate = 60;
  6.    var madeAttack = 0;
  7.    var attacking = false;
  8.    var die = false;
  9.    var melt = false;
  10.    var hit = false;
  11.    var health = 2;
  12.    var startHealth = health;
  13.    var gravity = 0;
  14.    var maxGravity = 8;
  15.    var removeNum = 100;
  16.    var airSpeed = 0.5;
  17.    var active = false;
  18.    var xTar = 0;
  19.    var startX = _X;
  20.    var startY = _Y;
  21.    var xscale = _xscale;
  22.    var hitSound = new Sound();
  23.    hitSound.attachSound("punch5");
  24.    var setVars = true;
  25. }
  26. stop();
  27. var getFrame = function()
  28. {
  29.    if(die == true)
  30.    {
  31.       frame = "die";
  32.    }
  33.    else if(melt == true)
  34.    {
  35.       frame = "melt";
  36.    }
  37.    else if(hit == true)
  38.    {
  39.       frame = "hit";
  40.    }
  41.    else if(running == false && attacking == false)
  42.    {
  43.       frame = "stand";
  44.    }
  45.    else if(falling == true)
  46.    {
  47.       frame = "stand";
  48.    }
  49.    else if(running == true)
  50.    {
  51.       frame = "run";
  52.    }
  53.    else if(attacking == true)
  54.    {
  55.       frame = "attack";
  56.    }
  57.    gotoAndStop(frame);
  58. };
  59. var onEnterFrame = function()
  60. {
  61.    _root.checkVis(this);
  62.    if(_root.remake == true)
  63.    {
  64.       die = false;
  65.       melt = false;
  66.       removeNum = 100;
  67.       hit = false;
  68.       health = startHealth;
  69.       _X = startX;
  70.       _Y = startY;
  71.       active = false;
  72.       _visible = true;
  73.       _alpha = 100;
  74.    }
  75.    if(_root.pauseMode == false)
  76.    {
  77.       if(active == true)
  78.       {
  79.          if(die == false && melt == false)
  80.          {
  81.             if(hit == false)
  82.             {
  83.                if(_root.candy.hitTest(hitter))
  84.                {
  85.                   if(_root.candy.dir == "left")
  86.                   {
  87.                      _root.candy.dir = "right";
  88.                   }
  89.                   else
  90.                   {
  91.                      _root.candy.dir = "left";
  92.                   }
  93.                   hitSound.start();
  94.                   if(health > 0)
  95.                   {
  96.                      hit = true;
  97.                   }
  98.                   else
  99.                   {
  100.                      die = true;
  101.                   }
  102.                }
  103.                else if(_root.cm.g.hit.hitTest(hitter))
  104.                {
  105.                   hitSound.start();
  106.                   if(health > 0)
  107.                   {
  108.                      hit = true;
  109.                   }
  110.                   else
  111.                   {
  112.                      die = true;
  113.                   }
  114.                }
  115.                else if(_root.cm.g.sparkle.hitTest(hitter))
  116.                {
  117.                   die = false;
  118.                   melt = true;
  119.                }
  120.             }
  121.             if(attacking == false && hit == false)
  122.             {
  123.                if(_root.cm._x > _X)
  124.                {
  125.                   _xscale = - xscale;
  126.                }
  127.                else if(_root.cm._x < _X)
  128.                {
  129.                   _xscale = xscale;
  130.                }
  131.             }
  132.             if(!bound.hitTest(_root.cm))
  133.             {
  134.                if(attacking == false && hit == false && melt == false && die == false)
  135.                {
  136.                   if(running == true && g._currentframe >= 8)
  137.                   {
  138.                      if(_root.cm._x > _X)
  139.                      {
  140.                         if(!_root.bound.hitTest(_X + xTar + addSpeed,_Y - 10,true))
  141.                         {
  142.                            xTar += addSpeed;
  143.                         }
  144.                      }
  145.                      else if(_root.cm._x < _X)
  146.                      {
  147.                         if(!_root.bound.hitTest(_X - xTar - addSpeed,_Y - 10,true))
  148.                         {
  149.                            xTar -= addSpeed;
  150.                         }
  151.                      }
  152.                   }
  153.                   running = true;
  154.                }
  155.             }
  156.             else
  157.             {
  158.                running = false;
  159.                if(xTar > 0)
  160.                {
  161.                   xTar -= addSpeed;
  162.                }
  163.                else if(xTar < 0)
  164.                {
  165.                   xTar += addSpeed;
  166.                }
  167.                num = random(attackRate);
  168.                madeAttack++;
  169.                if((num == 1 or madeAttack >= attackRate) && attacking == false && falling == false && running == false)
  170.                {
  171.                   if(hit == false)
  172.                   {
  173.                      madeAttack = 0;
  174.                      attacking = true;
  175.                   }
  176.                }
  177.             }
  178.          }
  179.          else
  180.          {
  181.             if(removeNum < 0)
  182.             {
  183.                if(_alpha > 0)
  184.                {
  185.                   _alpha = _alpha - 1;
  186.                }
  187.                else
  188.                {
  189.                   _visible = false;
  190.                }
  191.             }
  192.             else
  193.             {
  194.                removeNum -= 1;
  195.             }
  196.             if(xTar > 0)
  197.             {
  198.                xTar -= addSpeed;
  199.             }
  200.             else if(xTar < 0)
  201.             {
  202.                xTar += addSpeed;
  203.             }
  204.          }
  205.          if(xTar > moveSpeed)
  206.          {
  207.             xTar = moveSpeed;
  208.          }
  209.          else if(xTar < - moveSpeed)
  210.          {
  211.             xTar = - moveSpeed;
  212.          }
  213.          if(_root.bound.hitTest(_X,_Y + 1,true))
  214.          {
  215.             falling = false;
  216.          }
  217.          else
  218.          {
  219.             falling = true;
  220.          }
  221.          if(falling == true)
  222.          {
  223.             grav = 0;
  224.             switched = false;
  225.             i = 0;
  226.             while(i < gravity)
  227.             {
  228.                if(switched == false)
  229.                {
  230.                   if(_root.bound.hitTest(_X,_Y + i,true))
  231.                   {
  232.                      switched = true;
  233.                   }
  234.                   else
  235.                   {
  236.                      grav = i;
  237.                   }
  238.                }
  239.                i++;
  240.             }
  241.             _Y = _Y + i;
  242.             if(gravity < maxGravity)
  243.             {
  244.                gravity += airSpeed;
  245.             }
  246.          }
  247.          else
  248.          {
  249.             gravity = 0;
  250.          }
  251.          while(_root.bound.hitTest(_X,_Y - 0.5,true))
  252.          {
  253.             _Y = _Y - 0.5;
  254.          }
  255.          _X = _X + xTar;
  256.          getFrame();
  257.          if((die == true or melt == true) && g._currentframe == g._totalframes or attacking == true && g._currentframe == 12)
  258.          {
  259.             g.stop();
  260.          }
  261.          else
  262.          {
  263.             g.play();
  264.          }
  265.       }
  266.       else if(_root.cam.hitTest(this))
  267.       {
  268.          active = true;
  269.       }
  270.    }
  271.    else
  272.    {
  273.       stop();
  274.       g.stop();
  275.    }
  276. };
  277.